As an increasing amount of processing and data transfer is being performed over networks such as the Internet, it is desirable to be able to accurately monitor information about the servers or resources performing such operations. In many cases, however, this information is difficult to obtain due to obstacles that affect the flow of certain types of network traffic. For example, information about network connectivity of various servers can be difficult to determine as obstacles can prevent unauthorized traffic from entering networks or seeking specific servers. One such obstacle is a firewall that can ensure that only certain types of traffic reach a particular Web server in order to filter out malicious traffic. In another example, a load balancer may choose the server to which a proper request is routed, while other requests are ignored. These gateways typically exist to protect internal servers from external attacks.
There may in some instances exist a barrier of trust between the Internet, or other external networks, and one or more internal networks. Internal computers and networks may be viewed as trusted because the internal servers are known and administered by an internal administrator. Computers on the Internet, however, may not be trusted because the computer and/or networks may not be known. As Internet connectivity may be routed through untrusted computers, measuring Internet connectivity to an internal server may be difficult because of the barriers encountered. While various techniques have been employed to effectively test Internet connectivity, due to the complexity of the tasks, the employed techniques are of varied success.